﻿/*
大数加 
Time Limit:1000MS  Memory Limit:32768K


Description:
给定一些大数，请计算其和。

Input:
输入数据中含有一些数据组（数量≤100），每组数据由一个整数n（n≤100）领衔，
后跟n个大整数（0≤大数，大数位数≤200），若n＝0则表示输入结束。 
Output:
输出每组数据所计算的大数和，每个结果单独占一行。 
Sample Input:
5
123456789
6287999980
5645645654654
5
79
0
Sample Output:
5652057111507
*/
#include <iostream>
#include <string>
#include <cstdlib>
#include <vector>
#include <iterator>
using namespace std;

int main()
{
	for (unsigned n; cin>>n && n;)
	{
		vector<unsigned> sum(200+n);

		unsigned tail=0U;
		while (n--)
		{
			string addend;
			cin>>addend;
			if(0==addend.length())
				continue;

			vector<unsigned>::size_type i=0;
			for (string::reverse_iterator rit=addend.rbegin(); rit!=addend.rend(); ++rit)
			{
				sum[i]+=(*rit-'0');
				++i;
			}
			if(tail<i)
				tail=i;
		}
		unsigned carry=0;
		for (vector<unsigned>::size_type i=0; i<tail; i++)
		{
			unsigned elem=sum[i]+carry;
			sum[i]=elem%10;
			carry=elem/10;
 			if(carry && i==tail)
 				tail++;
		}	
		sum.resize(tail);
		copy(sum.rbegin(), sum.rend(), ostream_iterator<unsigned>(cout, ""));
		cout<<endl;
	}

	return EXIT_SUCCESS;
}